package com.bgs.travelapp.tourNote.service;

import com.bgs.travelapp.page.PageRequest;
import com.bgs.travelapp.page.PageResult;
import com.bgs.travelapp.tourNote.eneity.TourNoteEntity;
import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.multipart.MultipartRequest;

import java.util.List;
import java.util.Map;

/**
 * hbx 2022年8月4日09:24:01
 * 前端游记添加展示 (前端)
 */
public interface TourNoteService {
    /**
     * 添加游记（前端）
     * hbx 2022-7-26 16:42:45
     * @param multipartRequest
     * @param tourNoteEntity
     * @return
     */
    Integer saveTourNote(MultipartRequest multipartRequest, TourNoteEntity tourNoteEntity);

    /**
     *前端展示游记详情信息（前端）
     * hbx 2022年8月3日08:30:54
     * @param pageRequest
     * @return
     */
    PageResult getTourNoteAll(PageRequest pageRequest);

    /**
     * 获取游记详情根据游记id（前端）
     * hbx 2022-8-3 14:45:54
     * @param id
     * @return
     */
    List<TourNoteEntity> getToueNoteById(Integer id);

    /**
     * 点击查看游记详情时修改浏览量（前端展示）
     * hbx 2022年8月4日16:53:05
     * @param tourNoteEntity
     * @return
     */
    Integer updatetTourNote(TourNoteEntity tourNoteEntity);

    /**
     * 前端我的主页展示游记信息 根据用户id（前端）
     * hbx 2022-8-15 08:45:13
     * @param userId
     * @return
     */
    List<TourNoteEntity> getTourNoteAlls(Integer userId);

    /**
     * 前端我的主页删除游记信息 根据游记id（前端）
     * hbx 2022-8-8 09:46:57
     * @param id
     * @return
     */
    Integer deleteTourNoteById(Integer id);

    /** g
     *前端我的主页修改游记信息（前端）
     * hbx 2022年8月8日14:17:53
     * @param multipartRequest
     * @param tourNoteEntity
     * @return
     */
    Integer updateTourNoteById(MultipartRequest multipartRequest, TourNoteEntity tourNoteEntity);

    /**
     * 根据城市id查询游记信息
     * hbx 2022年8月12日09:25:02
     * @param pageRequest
     * @param cityId
     * @return
     */
    PageResult getTourNoteAllByCityId(PageRequest pageRequest, Integer cityId);


    /**
     * 全查游记信息  分页（后端）
     * hbx 2022年8月18日15:38:13
     * @param pageRequest
     * @return
     */
    PageResult getTravelsAll(PageRequest pageRequest);



    /**
     * 根据游记id删除游记信息（后端）
     * hbx 2022年8月18日16:09:58
     * @param id
     * @return
     */
    Integer deleteTravelsById(Integer id);

    /**
     * 分页 根据游记标题,游记作者查询游记信息（后端）
     * hbx 2022年8月18日17:05:19
     * @param pageRequest
     * @param title
     * @param author
     * @return
     */
    PageResult getTravelsVague(PageRequest pageRequest, String title, String author,String createTime,String releaseTypeId);

    /**
     * 修改游记审批状态（后端）
     * hbx 2022年8月22日10:56:48
     * @param tourNoteEntity
     * @return
     */
    Integer updateTourNoteType(TourNoteEntity tourNoteEntity);


    /**
     * 修改发布滑块信息 (后端)
     * hbx 2022年8月22日11:32:49
     * @param tourNoteEntity
     * @return
     */
    Integer updateOpenPrivate(TourNoteEntity tourNoteEntity);

    /**
     * 将审批失败原因通过邮箱发送给用户（后端管理）
     * hbx 2022年8月23日09:19:16
     * @param mail
     */
    void emailReply(String mail,Integer id);
}
